In computing systems, a cache mechanism may be utilized to improve data access speeds. This is accomplished by way of temporarily copying certain target data stored in a primary data storage area (i.e., auxiliary memory) to a secondary data storage area (i.e., cache memory). Cache memory can be accessed faster than the auxiliary memory, thereby supporting faster data processing speeds.
Due to cost issues, size of cache memory is generally substantially smaller than the auxiliary memory. Therefore, when the cache gets full, a caching algorithm or policy is used to evict older cached data in order to provide room for new data that needs to be copied to the cache. Caching algorithms are utilized to determine a replacement policy that would optimize the use of the caching mechanism with an eye toward increasing the underlying system's performance.
In general, better performance can be achieved by increasing the size of the cache. After a certain level, however, the gained increase in performance may be insufficient to justify further increases in the cache size considering the associated costs. Therefore, it is desirable to determine in advance whether modifying the cache size would result in better performance and how to best implement cache size modification.